﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sistema.NFe.Xml.Versao200
{
    class XmlConsRecibo200 : Sistema.NFe.Xml.Interfaces.IXmlConsRecibo
    {
        long _numeroRecibo;
        TipoAmbiente _tipoAmbiente;
        Versao _versao;
        String _xml;

        #region Propriedades

        public String Xml
        {
            get { return GeraXml(); }
            set { _xml = value; }
        }

        public TipoAmbiente TipoAmbiente
        {
            get { return _tipoAmbiente; }
            set { _tipoAmbiente = value; }
        }

        public Versao Versao
        {
            get { return _versao; }
            set { _versao = value; }
        }

        public long NumeroRecibo
        {
            get { return _numeroRecibo; }
            set { _numeroRecibo = value; }
        }

        #endregion

        private string GeraXml()
        {
            Mapeamento.TConsReciNFe dados = new Mapeamento.TConsReciNFe();
            dados.nRec = this.NumeroRecibo.ToString();
            if (TipoAmbiente == Sistema.NFe.TipoAmbiente.Homologacao)
            {
                dados.tpAmb = Mapeamento.TAmb.Item2;
            }
            else
            {
                dados.tpAmb = Mapeamento.TAmb.Item1;
            }
            if (Versao == Sistema.NFe.Versao.Versao2SOAP12)
            {
                dados.versao = "2.00";
            }

            System.Xml.Serialization.XmlSerializerNamespaces namespaces= new System.Xml.Serialization.XmlSerializerNamespaces();
            namespaces.Add("", "http://www.portalfiscal.inf.br/nfe");
            return new Util.Serializacao().Serializar<Mapeamento.TConsReciNFe>(dados,namespaces);
        }

    }
}
